#include <stdio.h>  
#include <unistd.h>  
#include <time.h>  
#include <stdlib.h>  
#include "process.h"  // 如果不需要，请注释掉  
  
const int base = 50;  
double total = 2048.0; // 2048MB的文件需要下载  
double once = 0.1;    // 单次下载量  
  
// 更改函数名以避免与标准库中的rand()冲突  
void download_task()
{  
    double current = 0.0;  
    while (current < total) {  
        // 模拟随机数种子（通常放在main函数中，但为了示例放在这里）  
        srand(time(NULL));  // 注意：这通常只在程序开始时调用一次  
        int r = rand() % base + 1;  
        double speed = r * once;  
        current += speed;  
        if (current >= total) current = total;  
        usleep(10000);// 100毫秒，注意usleep的参数是微秒
        //更新除本次新的下载量
        //真实的进度条是根据真是的应用场景，进行动态刷新 
        //
        Process(total,current);
        //printf("Downloaded: %.1lf MB, Total: %.1lf MB\r", current, total);
        //fflush(stdout);
    }  
    printf("\n");
}  
  
int main()
{  
    srand(time(NULL));  // 初始化随机数种子  
    download_task();  
    // Process();  // 如果需要，取消注释并定义Process函数  
    return 0;  
}
